# 第2章 ECMAScript 和 TypeScript 概述
# export 与 import
const a = function() {}
const b = function() {}
export { a, b }
import { a as a1, b as b1 } from "xx"
export { a as a1, b as b1 }
import { a1, b1 } from "xx"
import * as c from "xx"
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
node.js 目前不支持 import 语法,需要使用 require 关键字。
# TypeScript
它的主要功能之一是为 js 变量提供类型支持。最后,它会被编译为简单的 js 代码。
# 1.类型推断
let age: number = 20
1
typescript 有一个类型推断机制,就是说它会根据为变量赋的值自动给该变量设置一个类型。
# 2.接口
- 用法一:把接口看作一个实际的东西。它是一个对象必须包含的属性和方法的描述
interface Person {
name: string
age: number
}
function printName(person: Person) {
console.log(person.name)
}
1
2
3
4
5
6
7
2
3
4
5
6
7
- 用法二:Comparable 接口告诉 MyObject 类,它需要实现一个叫做 compareTo 的方法,并且该方法接收一个参数。
interface Comparable {
compareTo(b): number
}
class MyObject implements Comparable {
age: number
compareTo(b): number {
if (this.age === b.age) {
return 0
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 3.泛型
定义 compareTo 方法作为参数接收的对象是什么类型。
interface Comparable<T> {
compareTo(b: T): number
}
class MyObject implements Comparable<MyObject> {
age: number
compareTo(b: MyObject): number {
if (this.age === b.age) {
return 0
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12